<?php
declare (strict_types = 1);

namespace app\api\controller;

use app\api\model\Type;
use think\facade\Cache;
use think\Request;

class Question
{
    public $redis;
    public function init(){
         $this->redis = Cache::store('redis');
    }
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $this->init();
        $types = Type::select()->toArray();
        $arr=[];
        foreach ($types as $value){
            $key = "type:".$value['id'];
            if ($this->redis->hexists('question',$key)){
                $json = $this->redis->hget('question',$key);
                $data = json_decode($json,true);
                $arr['type'.$value['id']] = $data;
            }else{
                $data = \app\api\model\Question::where('type',$value['id'])->select()->toArray();
                $this->redis->hset('question',$key,json_encode($data));
                $arr['type'.$value['id']] = $data;
            }
        }
        return  json(['code'=>200,'data'=>$arr]);
    }

    public function types(){
        $data = Type::select()->toArray();
        $count = count(\app\api\model\Question::select()->toArray());
        return json(['code'=>200,'data'=>$data,'count'=>$count]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
